From c1906d53de4a0fa8f6f7a1f09d2905a4a7a4fcd4 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 20 Dec 2011 21:24:06 +0000 Subject: [PATCH] Provisional revert r106573, r106559: may be the wrong thing to do, and should probably come with regression tests if added. --- includes/parser/CoreParserFunctions.php | 18 ++++++++++++------ languages/Language.php | 8 ++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index 6f1bb509bf..cd5e0a5665 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -604,15 +604,21 @@ class CoreParserFunctions { * Gives language names. * @param $parser Parser * @param $code String Language code - * @param $inLanguage String Language code + * @param $language String Language code * @return String */ - static function language( $parser, $code = '', $inLanguage = '' ) { + static function language( $parser, $code = '', $language = '' ) { + global $wgContLang; $code = strtolower( $code ); - # default to native language name - $inLanguage = $inLanguage !== '' ? strtolower( $inLanguage ) : $code; - $names = Language::getTranslatedLanguageNames( $inLanguage ); - return isset( $names[$code] ) ? $names[$code] : wfBCP47( $code ); + $language = strtolower( $language ); + + if ( $language !== '' ) { + $names = Language::getTranslatedLanguageNames( $language ); + return isset( $names[$code] ) ? $names[$code] : wfBCP47( $code ); + } + + $lang = $wgContLang->getLanguageName( $code ); + return $lang !== '' ? $lang : wfBCP47( $code ); } /** diff --git a/languages/Language.php b/languages/Language.php index 2eb66aae16..9b201c8d66 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -682,12 +682,8 @@ class Language { $names = array(); wfRunHooks( 'LanguageGetTranslatedLanguageNames', array( &$names, $code ) ); - foreach ( self::getLanguageNames() as $code2 => $name ) { - # Prefer own MediaWiki native name, - # for other names just add if not added through the hook - if ( $code === $code2 || !isset( $names[$code2] ) ) { - $names[$code2] = $name; - } + foreach ( self::getLanguageNames() as $code => $name ) { + if ( !isset( $names[$code] ) ) $names[$code] = $name; } return $names; -- 2.20.1